package com.tqjc.system.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tqjc.system.common.entity.BO.AddBusinessTaskInfo;
import com.tqjc.system.common.entity.BO.CarExecuteInfoBO;
import com.tqjc.system.common.entity.BO.TaskMaterialBO;
import com.tqjc.system.common.entity.VO.AddTaskVO;
import com.tqjc.system.common.entity.VO.CarExecuteInfoVO;
import com.tqjc.system.core.pipeline.ProcessContext;
import com.tqjc.system.system.entity.SysAddDetailTaskEntity;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 86195
 * @version 1.0
 * @description 加料任务详情信息服务
 * @date 2023/10/16 14:25
 */
public interface SysAddDetailTaskService extends IService<SysAddDetailTaskEntity> {
    List<String> getMaterialList(String taskId);

    List<TaskMaterialBO> sortSpanTaskMaterialList(String workingSpanNo, String taskId);

    SysAddDetailTaskEntity getMaterial(String taskId, String materialNo);

    boolean modifyWeight(List<SysAddDetailTaskEntity> list,String msgBody);

    List<SysAddDetailTaskEntity> getDetailTaskInfoByTankCarNo(String tankCarNo);

    List<SysAddDetailTaskEntity> getDetailTaskInfo(String tankCarNo, String tempTaskId);

    void deleteMaterial(String idKey);

    List<SysAddDetailTaskEntity> getDetailTaskInfo(String taskId);

    List<AddTaskVO> getPrimaryTaskInfoByTankCarNo(String tankCarNo);

    /**
     * 判断该taskid下的任务是否都成功
     * @param taskId
     * @return
     */
    boolean allTaskSuccess(String taskId);

    List<CarExecuteInfoBO> getCarExecuteInfo(LocalDateTime now,String status);
}
